Skip to content

feat(npm): add @ruvector/raft, @ruvector/replication, @ruvector/scipix packages#129

Merged
ruvnet merged 1 commit intomainfrom
feat/npm-distributed-packages
Jan 22, 2026
Merged

feat(npm): add @ruvector/raft, @ruvector/replication, @ruvector/scipix packages#129
ruvnet merged 1 commit intomainfrom
feat/npm-distributed-packages

Conversation

@ruvnet
Copy link
Copy Markdown
Owner

@ruvnet ruvnet commented Jan 22, 2026

Summary

Adds three new npm packages for distributed systems capabilities:

  • @ruvector/raft - Raft consensus implementation with leader election, log replication, and fault tolerance
  • @ruvector/replication - Data replication with vector clocks, conflict resolution, and automatic failover
  • @ruvector/scipix - OCR client for scientific documents with LaTeX/MathML extraction

Changes

@ruvector/raft

  • RaftNode class with full Raft consensus algorithm
  • RaftLog for replicated log management
  • RaftState for persistent and volatile state
  • Event-driven architecture with EventEmitter
  • Configurable election timeouts and heartbeat intervals

@ruvector/replication

  • ReplicaSet for multi-node replica management
  • VectorClock for conflict detection and causal ordering
  • SyncManager with sync/async/semi-sync modes
  • ReplicationLog for change data capture
  • Automatic failover with configurable policies

@ruvector/scipix

  • SciPixClient for SciPix OCR API
  • LaTeX, MathML, AsciiMath output formats
  • Batch processing support
  • File and buffer input support
  • Full TypeScript types

Test plan

  • Verify TypeScript builds pass for all packages
  • Test basic Raft node operations
  • Test replica set management
  • Test SciPix client with mock server

🤖 Generated with Claude Code

…x packages

- @ruvector/raft: Raft consensus implementation for distributed systems
  - Leader election and log replication
  - Fault-tolerant state machine
  - Configurable election timeouts and heartbeats

- @ruvector/replication: Data replication and synchronization
  - Multi-node replica sets with primary/secondary roles
  - Vector clocks for conflict detection
  - Sync modes: synchronous, asynchronous, semi-sync
  - Automatic failover with configurable policies

- @ruvector/scipix: OCR client for scientific documents
  - LaTeX and MathML extraction from equations
  - Batch processing support
  - Multiple output formats (LaTeX, MathML, AsciiMath, Text)

All packages built with TypeScript, fully typed, ready for npm publish.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@ruvnet ruvnet merged commit 2d2c23f into main Jan 22, 2026
1 of 6 checks passed
ruvnet added a commit that referenced this pull request Feb 20, 2026
…x packages (#129)

- @ruvector/raft: Raft consensus implementation for distributed systems
  - Leader election and log replication
  - Fault-tolerant state machine
  - Configurable election timeouts and heartbeats

- @ruvector/replication: Data replication and synchronization
  - Multi-node replica sets with primary/secondary roles
  - Vector clocks for conflict detection
  - Sync modes: synchronous, asynchronous, semi-sync
  - Automatic failover with configurable policies

- @ruvector/scipix: OCR client for scientific documents
  - LaTeX and MathML extraction from equations
  - Batch processing support
  - Multiple output formats (LaTeX, MathML, AsciiMath, Text)

All packages built with TypeScript, fully typed, ready for npm publish.

Co-authored-by: Reuven <cohen@ruv-mac-mini.local>
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant